from django.db import models

# Create your models here.
from django.contrib.auth.models import AbstractUser


class User(AbstractUser):
    GENDER_CHOICES = (
        (0, '男'),
        (1, '女'),

    )
    # 昵称字段， 一开始是没有昵称的，所以default可以为空，两个都可以
    # nick_name = models.CharField(max_length=50, verbose_name="昵称", null=True, blank=True)
    nick_name = models.CharField(max_length=50, verbose_name="昵称", default="")

    # 生日
    birthday = models.DateField(verbose_name="生日", null=True, blank=True)

    # 性别
    gender = models.CharField(verbose_name="性别", choices=GENDER_CHOICES, max_length=6)

    # 地址
    address = models.CharField(max_length=100, verbose_name="地址", default="")

    # 手机号码,unique=True一个手机号码只能注册一次,这里先把它取消掉
    mobile = models.CharField(max_length=11, verbose_name="手机号码")

    # 头像, 这个是用户放的头像upload_to="head_image/%Y/%m"，是放在media里。。。刚创建的默认头像default="default.jpg"，
    image = models.ImageField(verbose_name="用户头像", upload_to="head_image/%Y/%m", default="default.jpg")

    class Meta:
        db_table = "user"
        verbose_name = "用户信息"
        verbose_name_plural = verbose_name

    # 得到这些字段后的描述是什么，怎么处理
    def __str__(self):
        if self.nick_name:
            return self.nick_name
        else:
            # 如果继承了AbstractUser，那就必须填这个username
            return self.username